import { useAppStore } from '@/store/app';

export type TRoleCode =
  | '1001' /** BD General Manager,BD总经理 */
  | '1002' /** BD Director - Service,BD行业总监 */
  | '1003' /** BD Manager,BD负责人 */
  | '1004' /** BI Team,BI团队 */
  | '1005' /** Financial Manager,财务负责人 */
  | '1006' /** Legal Manager,法务负责人 */
  | '1007' /** BC Manager,系统方案负责人 */
  | '1008' /** Technology General Manager,商业科技部总经理 */
  | '1009' /** BE - Business Planning,商业规划负责人 */
  | '1010' /** BI - Business Analysis ,BI分析组 */
  | '1011' /** BI Director,BI总监 */
  | '1012' /** 商业联盟 */
  | '1015' /** Financial research Manager 金融研究负责人 */
  | '1025' /** 合作伙伴 */
  | '1029' /** 运营经理 */
  | '1040' /** 商圈负责人 */
  | '1030' // 财务经理
  | '1088' /** 产业平台投资中心负责人 */
  | '1089' // 数科平台投资中心负责人
  | '1113' // 创新业务中心负责人
  // | '1086' // 数科平台投资中心负责人
  | '1087' // 数科金融负责人
  | '1085' // 平台投资负责人
  | '1018' // 商业评估总监
  | '1072' // 管理深圳财务经理
  | '1073' // 出纳
  | '5003' // 滴灌通常务董事
  | '1039'; // 系统方案总监
export const useUser = () => {
  const { mcisaas, keycloak } = useAppStore();

  const matchRoleCode = (code: string) => mcisaas.roles?.some((item) => String(item.roleCode) === code);

  const userData = computed(() => {
    const isBusinessAlliance = matchRoleCode('1012');
    const isPlatformInvestManager = matchRoleCode('1085');
    const isPartner = matchRoleCode('1025');
    const isBdManager = matchRoleCode('1003');
    const isBITeam = matchRoleCode('1003');
    const isLegalManager = matchRoleCode('1006');
    const isBCManager = matchRoleCode('1007');
    const isBEManager = matchRoleCode('1009');
    const isBIManager = matchRoleCode('1010');
    const isBdDirector = matchRoleCode('1002');
    const isFnManager = matchRoleCode('1030');
    const isFnPrincipal = matchRoleCode('1005');
    const isOperationsManager = matchRoleCode('1029');
    const isCBDManager = matchRoleCode('1040');
    const isPIDirector = matchRoleCode('1088');
    const isDFDirector = matchRoleCode('1089');
    const isAlgorithm = matchRoleCode('1087');
    const isIBC = matchRoleCode('1113');
    const isBeDirector = matchRoleCode('1018');
    const isSzFnManager = matchRoleCode('1072');
    const isCashier = matchRoleCode('1073');
    const isExecutiveDirector = matchRoleCode('5003');
    const isBcDirector = matchRoleCode('1039');
    return {
      // 平台投资负责人
      isPlatformInvestManager,
      /** 创新业务中心负责人*/
      isIBC,
      /** 管理深圳财务经理*/
      isSzFnManager,
      /** 是 出纳*/
      isCashier,
      /** 是 滴灌通常务董事*/
      isExecutiveDirector,
      /** 是否财务经理*/
      isFnManager,
      /** 是 产业平台投资中心负责人*/
      isPIDirector,
      /** 是 数科平台投资中心负责人*/
      isDFDirector,
      /** 是 智能算法负责人*/
      isAlgorithm,
      /** 是否商业联盟角色 */
      isBusinessAlliance,
      /* 法务经理角色 */
      isLegalManager,
      /** 是否合作伙伴 */
      isPartner,
      /** 是否BI团队 */
      isBITeam,
      /** 是否系统方案负责人 */
      isBCManager,
      /** 是否商业规划负责人 */
      isBEManager,
      /** 是否商业分析经理*/
      isBIManager,
      /** 是否BD负责人 */
      isBdManager,
      /** 是否BD行业总监 */
      isBdDirector,
      /** 是否财务负责人 */
      isFnPrincipal,
      /** 是否运营经理 */
      isOperationsManager,
      /** 商圈负责人 */
      isCBDManager,
      // 系统方案总监
      isBcDirector,
      // 商业评估总监
      isBeDirector,
      mcisaas,
      keycloak,
      roles: mcisaas.roles,
      userId: mcisaas?.userBaseId
    };
  });

  return userData;
};
